/*
 * DamasView.java
 */

package damas;

import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.JFrame;

/**
 * The application's main frame.
 */
public class DamasView extends FrameView {

    public DamasView(SingleFrameApplication app) {
        super(app);

        initComponents();

        // status bar initialization - message timeout, idle icon and busy animation, etc
        ResourceMap resourceMap = getResourceMap();
        int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");
        messageTimer = new Timer(messageTimeout, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                statusMessageLabel.setText("");
            }
        });
        messageTimer.setRepeats(false);
        int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate");
        for (int i = 0; i < busyIcons.length; i++) {
            busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]");
        }
        busyIconTimer = new Timer(busyAnimationRate, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                busyIconIndex = (busyIconIndex + 1) % busyIcons.length;
                statusAnimationLabel.setIcon(busyIcons[busyIconIndex]);
            }
        });
        idleIcon = resourceMap.getIcon("StatusBar.idleIcon");
        statusAnimationLabel.setIcon(idleIcon);
        progressBar.setVisible(false);

        // connecting action tasks to status bar via TaskMonitor
        TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext());
        taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
            public void propertyChange(java.beans.PropertyChangeEvent evt) {
                String propertyName = evt.getPropertyName();
                if ("started".equals(propertyName)) {
                    if (!busyIconTimer.isRunning()) {
                        statusAnimationLabel.setIcon(busyIcons[0]);
                        busyIconIndex = 0;
                        busyIconTimer.start();
                    }
                    progressBar.setVisible(true);
                    progressBar.setIndeterminate(true);
                } else if ("done".equals(propertyName)) {
                    busyIconTimer.stop();
                    statusAnimationLabel.setIcon(idleIcon);
                    progressBar.setVisible(false);
                    progressBar.setValue(0);
                } else if ("message".equals(propertyName)) {
                    String text = (String)(evt.getNewValue());
                    statusMessageLabel.setText((text == null) ? "" : text);
                    messageTimer.restart();
                } else if ("progress".equals(propertyName)) {
                    int value = (Integer)(evt.getNewValue());
                    progressBar.setVisible(true);
                    progressBar.setIndeterminate(false);
                    progressBar.setValue(value);
                }
            }
        });
    }

    @Action
    public void showAboutBox() {
        if (aboutBox == null) {
            JFrame mainFrame = DamasApp.getApplication().getMainFrame();
            aboutBox = new DamasAboutBox(mainFrame);
            aboutBox.setLocationRelativeTo(mainFrame);
        }
        DamasApp.getApplication().show(aboutBox);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        mainPanel = new javax.swing.JPanel();
        jButton25 = new javax.swing.JButton();
        jButton58 = new javax.swing.JButton();
        jButton59 = new javax.swing.JButton();
        jButton60 = new javax.swing.JButton();
        jButton61 = new javax.swing.JButton();
        jButton62 = new javax.swing.JButton();
        jButton63 = new javax.swing.JButton();
        jButton64 = new javax.swing.JButton();
        jButton65 = new javax.swing.JButton();
        jButton66 = new javax.swing.JButton();
        jButton67 = new javax.swing.JButton();
        jButton68 = new javax.swing.JButton();
        jButton69 = new javax.swing.JButton();
        jButton70 = new javax.swing.JButton();
        jButton71 = new javax.swing.JButton();
        jButton72 = new javax.swing.JButton();
        jButton73 = new javax.swing.JButton();
        jButton74 = new javax.swing.JButton();
        jButton75 = new javax.swing.JButton();
        jButton76 = new javax.swing.JButton();
        jButton77 = new javax.swing.JButton();
        jButton78 = new javax.swing.JButton();
        jButton79 = new javax.swing.JButton();
        jButton80 = new javax.swing.JButton();
        jButton81 = new javax.swing.JButton();
        jButton82 = new javax.swing.JButton();
        jButton83 = new javax.swing.JButton();
        jButton84 = new javax.swing.JButton();
        jButton85 = new javax.swing.JButton();
        jButton86 = new javax.swing.JButton();
        jButton87 = new javax.swing.JButton();
        jButton88 = new javax.swing.JButton();
        jButton89 = new javax.swing.JButton();
        jButton90 = new javax.swing.JButton();
        jButton91 = new javax.swing.JButton();
        jButton92 = new javax.swing.JButton();
        jButton93 = new javax.swing.JButton();
        jButton94 = new javax.swing.JButton();
        jButton95 = new javax.swing.JButton();
        jButton96 = new javax.swing.JButton();
        jButton97 = new javax.swing.JButton();
        jButton98 = new javax.swing.JButton();
        jButton99 = new javax.swing.JButton();
        jButton100 = new javax.swing.JButton();
        jButton101 = new javax.swing.JButton();
        jButton102 = new javax.swing.JButton();
        jButton103 = new javax.swing.JButton();
        jButton104 = new javax.swing.JButton();
        jButton105 = new javax.swing.JButton();
        jButton106 = new javax.swing.JButton();
        jButton107 = new javax.swing.JButton();
        jButton108 = new javax.swing.JButton();
        jButton109 = new javax.swing.JButton();
        jButton110 = new javax.swing.JButton();
        jButton111 = new javax.swing.JButton();
        jButton112 = new javax.swing.JButton();
        jButton113 = new javax.swing.JButton();
        jButton114 = new javax.swing.JButton();
        jButton115 = new javax.swing.JButton();
        jButton116 = new javax.swing.JButton();
        jButton117 = new javax.swing.JButton();
        jButton118 = new javax.swing.JButton();
        jButton119 = new javax.swing.JButton();
        jButton120 = new javax.swing.JButton();
        jButton121 = new javax.swing.JButton();
        menuBar = new javax.swing.JMenuBar();
        javax.swing.JMenu fileMenu = new javax.swing.JMenu();
        javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem();
        javax.swing.JMenu helpMenu = new javax.swing.JMenu();
        javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
        statusPanel = new javax.swing.JPanel();
        javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator();
        statusMessageLabel = new javax.swing.JLabel();
        statusAnimationLabel = new javax.swing.JLabel();
        progressBar = new javax.swing.JProgressBar();
        canvas1 = new java.awt.Canvas();

        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(damas.DamasApp.class).getContext().getResourceMap(DamasView.class);
        mainPanel.setBackground(resourceMap.getColor("mainPanel.background")); // NOI18N
        mainPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        mainPanel.setName("mainPanel"); // NOI18N

        jButton25.setBackground(resourceMap.getColor("jButton34.background")); // NOI18N
        jButton25.setForeground(resourceMap.getColor("jButton34.foreground")); // NOI18N
        jButton25.setIcon(resourceMap.getIcon("jButton25.icon")); // NOI18N
        jButton25.setText(resourceMap.getString("jButton34.text")); // NOI18N
        jButton25.setName("jButton25"); // NOI18N

        jButton58.setBackground(resourceMap.getColor("jButton58.background")); // NOI18N
        jButton58.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton58.setName("jButton58"); // NOI18N

        jButton59.setBackground(resourceMap.getColor("jButton59.background")); // NOI18N
        jButton59.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton59.setName("jButton59"); // NOI18N

        jButton60.setBackground(resourceMap.getColor("jButton60.background")); // NOI18N
        jButton60.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton60.setName("jButton60"); // NOI18N

        jButton61.setBackground(resourceMap.getColor("jButton61.background")); // NOI18N
        jButton61.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton61.setName("jButton61"); // NOI18N

        jButton62.setBackground(resourceMap.getColor("jButton62.background")); // NOI18N
        jButton62.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton62.setName("jButton62"); // NOI18N

        jButton63.setBackground(resourceMap.getColor("jButton63.background")); // NOI18N
        jButton63.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton63.setName("jButton63"); // NOI18N

        jButton64.setBackground(resourceMap.getColor("jButton64.background")); // NOI18N
        jButton64.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton64.setName("jButton64"); // NOI18N

        jButton65.setBackground(resourceMap.getColor("jButton65.background")); // NOI18N
        jButton65.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton65.setName("jButton65"); // NOI18N

        jButton66.setBackground(resourceMap.getColor("jButton66.background")); // NOI18N
        jButton66.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton66.setName("jButton66"); // NOI18N

        jButton67.setBackground(resourceMap.getColor("jButton67.background")); // NOI18N
        jButton67.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton67.setName("jButton67"); // NOI18N

        jButton68.setBackground(resourceMap.getColor("jButton68.background")); // NOI18N
        jButton68.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton68.setName("jButton68"); // NOI18N

        jButton69.setBackground(resourceMap.getColor("jButton69.background")); // NOI18N
        jButton69.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton69.setName("jButton69"); // NOI18N

        jButton70.setBackground(resourceMap.getColor("jButton70.background")); // NOI18N
        jButton70.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton70.setName("jButton70"); // NOI18N

        jButton71.setBackground(resourceMap.getColor("jButton71.background")); // NOI18N
        jButton71.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton71.setName("jButton71"); // NOI18N

        jButton72.setBackground(resourceMap.getColor("jButton72.background")); // NOI18N
        jButton72.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton72.setName("jButton72"); // NOI18N

        jButton73.setBackground(resourceMap.getColor("jButton73.background")); // NOI18N
        jButton73.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton73.setName("jButton73"); // NOI18N

        jButton74.setBackground(resourceMap.getColor("jButton74.background")); // NOI18N
        jButton74.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton74.setName("jButton74"); // NOI18N

        jButton75.setBackground(resourceMap.getColor("jButton75.background")); // NOI18N
        jButton75.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton75.setName("jButton75"); // NOI18N

        jButton76.setBackground(resourceMap.getColor("jButton76.background")); // NOI18N
        jButton76.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton76.setName("jButton76"); // NOI18N

        jButton77.setBackground(resourceMap.getColor("jButton77.background")); // NOI18N
        jButton77.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton77.setName("jButton77"); // NOI18N

        jButton78.setBackground(resourceMap.getColor("jButton78.background")); // NOI18N
        jButton78.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton78.setName("jButton78"); // NOI18N

        jButton79.setBackground(resourceMap.getColor("jButton79.background")); // NOI18N
        jButton79.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton79.setName("jButton79"); // NOI18N

        jButton80.setBackground(resourceMap.getColor("jButton80.background")); // NOI18N
        jButton80.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton80.setName("jButton80"); // NOI18N

        jButton81.setBackground(resourceMap.getColor("jButton81.background")); // NOI18N
        jButton81.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton81.setName("jButton81"); // NOI18N

        jButton82.setBackground(resourceMap.getColor("jButton82.background")); // NOI18N
        jButton82.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton82.setName("jButton82"); // NOI18N

        jButton83.setBackground(resourceMap.getColor("jButton83.background")); // NOI18N
        jButton83.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton83.setName("jButton83"); // NOI18N

        jButton84.setBackground(resourceMap.getColor("jButton84.background")); // NOI18N
        jButton84.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton84.setName("jButton84"); // NOI18N

        jButton85.setBackground(resourceMap.getColor("jButton85.background")); // NOI18N
        jButton85.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton85.setName("jButton85"); // NOI18N

        jButton86.setBackground(resourceMap.getColor("jButton86.background")); // NOI18N
        jButton86.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton86.setName("jButton86"); // NOI18N

        jButton87.setBackground(resourceMap.getColor("jButton87.background")); // NOI18N
        jButton87.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton87.setName("jButton87"); // NOI18N

        jButton88.setBackground(resourceMap.getColor("jButton88.background")); // NOI18N
        jButton88.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton88.setName("jButton88"); // NOI18N

        jButton89.setBackground(resourceMap.getColor("jButton89.background")); // NOI18N
        jButton89.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton89.setName("jButton89"); // NOI18N

        jButton90.setBackground(resourceMap.getColor("jButton90.background")); // NOI18N
        jButton90.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton90.setName("jButton90"); // NOI18N

        jButton91.setBackground(resourceMap.getColor("jButton91.background")); // NOI18N
        jButton91.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton91.setName("jButton91"); // NOI18N

        jButton92.setBackground(resourceMap.getColor("jButton92.background")); // NOI18N
        jButton92.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton92.setName("jButton92"); // NOI18N

        jButton93.setBackground(resourceMap.getColor("jButton93.background")); // NOI18N
        jButton93.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton93.setName("jButton93"); // NOI18N

        jButton94.setBackground(resourceMap.getColor("jButton94.background")); // NOI18N
        jButton94.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton94.setName("jButton94"); // NOI18N

        jButton95.setBackground(resourceMap.getColor("jButton95.background")); // NOI18N
        jButton95.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton95.setName("jButton95"); // NOI18N

        jButton96.setBackground(resourceMap.getColor("jButton96.background")); // NOI18N
        jButton96.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton96.setName("jButton96"); // NOI18N

        jButton97.setBackground(resourceMap.getColor("jButton97.background")); // NOI18N
        jButton97.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton97.setName("jButton97"); // NOI18N

        jButton98.setBackground(resourceMap.getColor("jButton98.background")); // NOI18N
        jButton98.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton98.setName("jButton98"); // NOI18N

        jButton99.setBackground(resourceMap.getColor("jButton99.background")); // NOI18N
        jButton99.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton99.setName("jButton99"); // NOI18N

        jButton100.setBackground(resourceMap.getColor("jButton100.background")); // NOI18N
        jButton100.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton100.setName("jButton100"); // NOI18N

        jButton101.setBackground(resourceMap.getColor("jButton101.background")); // NOI18N
        jButton101.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton101.setName("jButton101"); // NOI18N

        jButton102.setBackground(resourceMap.getColor("jButton102.background")); // NOI18N
        jButton102.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton102.setName("jButton102"); // NOI18N

        jButton103.setBackground(resourceMap.getColor("jButton103.background")); // NOI18N
        jButton103.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton103.setName("jButton103"); // NOI18N

        jButton104.setBackground(resourceMap.getColor("jButton104.background")); // NOI18N
        jButton104.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton104.setBorder(null);
        jButton104.setName("jButton104"); // NOI18N

        jButton105.setBackground(resourceMap.getColor("jButton105.background")); // NOI18N
        jButton105.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton105.setName("jButton105"); // NOI18N

        jButton106.setBackground(resourceMap.getColor("jButton106.background")); // NOI18N
        jButton106.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton106.setName("jButton106"); // NOI18N

        jButton107.setBackground(resourceMap.getColor("jButton107.background")); // NOI18N
        jButton107.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton107.setName("jButton107"); // NOI18N

        jButton108.setBackground(resourceMap.getColor("jButton108.background")); // NOI18N
        jButton108.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton108.setName("jButton108"); // NOI18N

        jButton109.setBackground(resourceMap.getColor("jButton109.background")); // NOI18N
        jButton109.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton109.setName("jButton109"); // NOI18N

        jButton110.setBackground(resourceMap.getColor("jButton110.background")); // NOI18N
        jButton110.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton110.setName("jButton110"); // NOI18N

        jButton111.setBackground(resourceMap.getColor("jButton111.background")); // NOI18N
        jButton111.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton111.setName("jButton111"); // NOI18N

        jButton112.setBackground(resourceMap.getColor("jButton112.background")); // NOI18N
        jButton112.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton112.setName("jButton112"); // NOI18N

        jButton113.setBackground(resourceMap.getColor("jButton113.background")); // NOI18N
        jButton113.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton113.setName("jButton113"); // NOI18N

        jButton114.setBackground(resourceMap.getColor("jButton114.background")); // NOI18N
        jButton114.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton114.setName("jButton114"); // NOI18N

        jButton115.setBackground(resourceMap.getColor("jButton115.background")); // NOI18N
        jButton115.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton115.setName("jButton115"); // NOI18N

        jButton116.setBackground(resourceMap.getColor("jButton116.background")); // NOI18N
        jButton116.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton116.setName("jButton116"); // NOI18N

        jButton117.setBackground(resourceMap.getColor("jButton117.background")); // NOI18N
        jButton117.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton117.setName("jButton117"); // NOI18N

        jButton118.setBackground(resourceMap.getColor("jButton118.background")); // NOI18N
        jButton118.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton118.setName("jButton118"); // NOI18N

        jButton119.setBackground(resourceMap.getColor("jButton119.background")); // NOI18N
        jButton119.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton119.setName("jButton119"); // NOI18N

        jButton120.setBackground(resourceMap.getColor("jButton120.background")); // NOI18N
        jButton120.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton120.setName("jButton120"); // NOI18N

        jButton121.setBackground(resourceMap.getColor("jButton121.background")); // NOI18N
        jButton121.setIcon(resourceMap.getIcon("jButton58.icon")); // NOI18N
        jButton121.setName("jButton121"); // NOI18N

        javax.swing.GroupLayout mainPanelLayout = new javax.swing.GroupLayout(mainPanel);
        mainPanel.setLayout(mainPanelLayout);
        mainPanelLayout.setHorizontalGroup(
            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(mainPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jButton25, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addComponent(jButton58, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton59, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton60, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton61, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton62, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton63, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton64, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton65, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addComponent(jButton66, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton67, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton68, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton69, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton70, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton71, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton72, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton73, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addComponent(jButton74, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton75, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton76, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton77, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton78, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton79, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton80, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton81, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addComponent(jButton82, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton83, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton84, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton85, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton86, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton87, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton88, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton89, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addComponent(jButton90, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton91, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton92, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton93, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton94, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton95, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton96, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton97, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addComponent(jButton98, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton99, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton100, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton101, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton102, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton103, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton104, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton105, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addComponent(jButton106, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton107, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton108, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton109, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton110, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton111, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton112, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton113, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addComponent(jButton114, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton115, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton116, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton117, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton118, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton119, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton120, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton121, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(21, Short.MAX_VALUE))
        );
        mainPanelLayout.setVerticalGroup(
            mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(mainPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(mainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, mainPanelLayout.createSequentialGroup()
                        .addComponent(jButton58, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton66, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton74, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton82, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton90, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton98, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton106, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton114, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jButton25, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(237, 237, 237))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addComponent(jButton59, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(675, 675, 675))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addComponent(jButton60, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(675, 675, 675))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addComponent(jButton61, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(675, 675, 675))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addComponent(jButton62, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(675, 675, 675))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addComponent(jButton63, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(675, 675, 675))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addComponent(jButton64, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(675, 675, 675))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addComponent(jButton65, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(675, 675, 675))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(57, 57, 57)
                        .addComponent(jButton67, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(618, 618, 618))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(57, 57, 57)
                        .addComponent(jButton68, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(618, 618, 618))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(57, 57, 57)
                        .addComponent(jButton69, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(618, 618, 618))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(57, 57, 57)
                        .addComponent(jButton70, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(618, 618, 618))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(57, 57, 57)
                        .addComponent(jButton71, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(618, 618, 618))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(57, 57, 57)
                        .addComponent(jButton72, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(618, 618, 618))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(57, 57, 57)
                        .addComponent(jButton73, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(618, 618, 618))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(114, 114, 114)
                        .addComponent(jButton75, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(561, 561, 561))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(114, 114, 114)
                        .addComponent(jButton76, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(561, 561, 561))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(114, 114, 114)
                        .addComponent(jButton77, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(561, 561, 561))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(114, 114, 114)
                        .addComponent(jButton78, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(561, 561, 561))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(114, 114, 114)
                        .addComponent(jButton79, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(561, 561, 561))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(114, 114, 114)
                        .addComponent(jButton80, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(561, 561, 561))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(114, 114, 114)
                        .addComponent(jButton81, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(561, 561, 561))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(171, 171, 171)
                        .addComponent(jButton83, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(504, 504, 504))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(171, 171, 171)
                        .addComponent(jButton84, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(504, 504, 504))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(171, 171, 171)
                        .addComponent(jButton85, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(504, 504, 504))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(171, 171, 171)
                        .addComponent(jButton86, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(504, 504, 504))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(171, 171, 171)
                        .addComponent(jButton87, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(504, 504, 504))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(171, 171, 171)
                        .addComponent(jButton88, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(504, 504, 504))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(171, 171, 171)
                        .addComponent(jButton89, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(504, 504, 504))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(228, 228, 228)
                        .addComponent(jButton91, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(447, 447, 447))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(228, 228, 228)
                        .addComponent(jButton92, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(447, 447, 447))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(228, 228, 228)
                        .addComponent(jButton93, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(447, 447, 447))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(228, 228, 228)
                        .addComponent(jButton94, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(447, 447, 447))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(228, 228, 228)
                        .addComponent(jButton95, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(447, 447, 447))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(228, 228, 228)
                        .addComponent(jButton96, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(447, 447, 447))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(228, 228, 228)
                        .addComponent(jButton97, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(447, 447, 447))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(285, 285, 285)
                        .addComponent(jButton99, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(390, 390, 390))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(285, 285, 285)
                        .addComponent(jButton100, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(390, 390, 390))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(285, 285, 285)
                        .addComponent(jButton101, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(390, 390, 390))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(285, 285, 285)
                        .addComponent(jButton102, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(390, 390, 390))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(285, 285, 285)
                        .addComponent(jButton103, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(390, 390, 390))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(285, 285, 285)
                        .addComponent(jButton104, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(390, 390, 390))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(285, 285, 285)
                        .addComponent(jButton105, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(390, 390, 390))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(342, 342, 342)
                        .addComponent(jButton107, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(333, 333, 333))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(342, 342, 342)
                        .addComponent(jButton108, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(333, 333, 333))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(342, 342, 342)
                        .addComponent(jButton109, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(333, 333, 333))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(342, 342, 342)
                        .addComponent(jButton110, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(333, 333, 333))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(342, 342, 342)
                        .addComponent(jButton111, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(333, 333, 333))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(342, 342, 342)
                        .addComponent(jButton112, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(333, 333, 333))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(342, 342, 342)
                        .addComponent(jButton113, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(333, 333, 333))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(399, 399, 399)
                        .addComponent(jButton115, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(276, 276, 276))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(399, 399, 399)
                        .addComponent(jButton116, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(276, 276, 276))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(399, 399, 399)
                        .addComponent(jButton117, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(276, 276, 276))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(399, 399, 399)
                        .addComponent(jButton118, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(276, 276, 276))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(399, 399, 399)
                        .addComponent(jButton119, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(276, 276, 276))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(399, 399, 399)
                        .addComponent(jButton120, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(276, 276, 276))
                    .addGroup(mainPanelLayout.createSequentialGroup()
                        .addGap(399, 399, 399)
                        .addComponent(jButton121, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(276, 276, 276))))
        );

        menuBar.setName("menuBar"); // NOI18N

        fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N
        fileMenu.setName("fileMenu"); // NOI18N

        javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(damas.DamasApp.class).getContext().getActionMap(DamasView.class, this);
        exitMenuItem.setAction(actionMap.get("quit")); // NOI18N
        exitMenuItem.setName("exitMenuItem"); // NOI18N
        fileMenu.add(exitMenuItem);

        menuBar.add(fileMenu);

        helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N
        helpMenu.setName("helpMenu"); // NOI18N

        aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N
        aboutMenuItem.setName("aboutMenuItem"); // NOI18N
        helpMenu.add(aboutMenuItem);

        menuBar.add(helpMenu);

        statusPanel.setName("statusPanel"); // NOI18N

        statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N

        statusMessageLabel.setName("statusMessageLabel"); // NOI18N

        statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N

        progressBar.setName("progressBar"); // NOI18N

        javax.swing.GroupLayout statusPanelLayout = new javax.swing.GroupLayout(statusPanel);
        statusPanel.setLayout(statusPanelLayout);
        statusPanelLayout.setHorizontalGroup(
            statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(statusPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(statusMessageLabel)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 369, Short.MAX_VALUE)
                .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(statusAnimationLabel)
                .addContainerGap())
            .addComponent(statusPanelSeparator, javax.swing.GroupLayout.DEFAULT_SIZE, 539, Short.MAX_VALUE)
        );
        statusPanelLayout.setVerticalGroup(
            statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, statusPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(statusPanelSeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(statusPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(statusMessageLabel)
                    .addComponent(statusAnimationLabel)
                    .addComponent(progressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(3, 3, 3))
        );

        canvas1.setName("canvas1"); // NOI18N

        setComponent(mainPanel);
        setMenuBar(menuBar);
        setStatusBar(statusPanel);
    }// </editor-fold>//GEN-END:initComponents

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private java.awt.Canvas canvas1;
    private javax.swing.JButton jButton100;
    private javax.swing.JButton jButton101;
    private javax.swing.JButton jButton102;
    private javax.swing.JButton jButton103;
    private javax.swing.JButton jButton104;
    private javax.swing.JButton jButton105;
    private javax.swing.JButton jButton106;
    private javax.swing.JButton jButton107;
    private javax.swing.JButton jButton108;
    private javax.swing.JButton jButton109;
    private javax.swing.JButton jButton110;
    private javax.swing.JButton jButton111;
    private javax.swing.JButton jButton112;
    private javax.swing.JButton jButton113;
    private javax.swing.JButton jButton114;
    private javax.swing.JButton jButton115;
    private javax.swing.JButton jButton116;
    private javax.swing.JButton jButton117;
    private javax.swing.JButton jButton118;
    private javax.swing.JButton jButton119;
    private javax.swing.JButton jButton120;
    private javax.swing.JButton jButton121;
    private javax.swing.JButton jButton25;
    private javax.swing.JButton jButton58;
    private javax.swing.JButton jButton59;
    private javax.swing.JButton jButton60;
    private javax.swing.JButton jButton61;
    private javax.swing.JButton jButton62;
    private javax.swing.JButton jButton63;
    private javax.swing.JButton jButton64;
    private javax.swing.JButton jButton65;
    private javax.swing.JButton jButton66;
    private javax.swing.JButton jButton67;
    private javax.swing.JButton jButton68;
    private javax.swing.JButton jButton69;
    private javax.swing.JButton jButton70;
    private javax.swing.JButton jButton71;
    private javax.swing.JButton jButton72;
    private javax.swing.JButton jButton73;
    private javax.swing.JButton jButton74;
    private javax.swing.JButton jButton75;
    private javax.swing.JButton jButton76;
    private javax.swing.JButton jButton77;
    private javax.swing.JButton jButton78;
    private javax.swing.JButton jButton79;
    private javax.swing.JButton jButton80;
    private javax.swing.JButton jButton81;
    private javax.swing.JButton jButton82;
    private javax.swing.JButton jButton83;
    private javax.swing.JButton jButton84;
    private javax.swing.JButton jButton85;
    private javax.swing.JButton jButton86;
    private javax.swing.JButton jButton87;
    private javax.swing.JButton jButton88;
    private javax.swing.JButton jButton89;
    private javax.swing.JButton jButton90;
    private javax.swing.JButton jButton91;
    private javax.swing.JButton jButton92;
    private javax.swing.JButton jButton93;
    private javax.swing.JButton jButton94;
    private javax.swing.JButton jButton95;
    private javax.swing.JButton jButton96;
    private javax.swing.JButton jButton97;
    private javax.swing.JButton jButton98;
    private javax.swing.JButton jButton99;
    private javax.swing.JPanel mainPanel;
    private javax.swing.JMenuBar menuBar;
    private javax.swing.JProgressBar progressBar;
    private javax.swing.JLabel statusAnimationLabel;
    private javax.swing.JLabel statusMessageLabel;
    private javax.swing.JPanel statusPanel;
    // End of variables declaration//GEN-END:variables

    private final Timer messageTimer;
    private final Timer busyIconTimer;
    private final Icon idleIcon;
    private final Icon[] busyIcons = new Icon[15];
    private int busyIconIndex = 0;

    private JDialog aboutBox;
}
